package com.ebupt.migu.music.autotri.mapper;

import java.util.List;
import java.util.Map;
import java.util.Set;

import org.apache.ibatis.annotations.Mapper;

import com.baomidou.dynamic.datasource.annotation.DS;

@Mapper
@DS("mysql_mg")
public interface AutoTriMapper {

    /**
     * 根据策略id查询黑名单名单字段
     *
     * @param tacId
     */
    String queryBlack(String tacId);

    /**
     * 根据名单数组查询黑名单人员信息
     *
     * @param blacks
     * @return
     */
    List<Map<String, Object>> qryBlackUser(String[] blacks);

    /**
     * 查询策略列表信息 不同的类型查询不同的表
     *
     * @param param
     * @return
     */
    Map<String, Object> qryStrategyById(Map<String, Object> param);

    /**
     * 跟据发送者昵称查询消息类型详情
     *
     * @param msgNickName
     * @return
     */
    Map<String, Object> queryMsgTypeInfo(String msgNickName);

    /**
     * 新增弹窗信息
     *
     * @param param
     */
    void insertPopup(Map<String, Object> param);

    /**
     * 查询当前表里的弹窗信息
     *
     * @return
     */
    List<Map<String, Object>> qryPopup();

    /**
     * 删除当前表里的弹窗信息
     *
     * @return
     */
    void delPopup();

    /**
     * 根据策略id查触发场景和链接类型
     *
     * @param tacId
     * @return
     */
    Map<String, Object> qryTacInfo(String tacId);

    /**
     * 查询当前执行中的策略的执行周期
     *
     * @param tacID
     * @return
     */
    Map<String, String> isTimeToTac(String tacID);

    /**
     * 查询是不是渠道新用户策略
     *
     * @param tacID
     * @return
     */
    boolean isChannelTac(String tacID);

    /**
     * 查询渠道白名单列表
     *
     * @return
     */
    Set<String> channels();

    /**
     * 查询IOP标签id
     * 
     * @param tacId
     * @return
     */
    public String queryIopTagIdByTacId(String tacId);
}
